#include <iostream>
using namespace std;

int function(int n)//求第n个数
{   
    //n小于3时直接返回1
    if(n < 3) return 1; 
    //存放已计算的数
    int * result = new int[n];
    //初始化已知数
    result[0] = 1;
    result[1] = 1;
    result[2] = 1;
    //开始填表
    for(int i = 3;i < n;i++)
        result[i] = result[i-1]+result[i-2]+result[i-3];
    //返回结果
    return result[n-1];
}

int main()
{
    int n = 6;
    cout << function(n) << endl;
    return 1;
}